home *** CD-ROM | disk | FTP | other *** search
/ Games for Fun 1 / games-for-fun.iso / Guck rein! / Shareware / FONDetective / FONDetective Release Notes... next >
Encoding:
Text File  |  1994-01-06  |  12.2 KB  |  275 lines  |  [TEXT/ttxt]

  1. RELEASE NOTES FOR FONDetective
  2.  
  3.  
  4. This is what Hex Key hath wrought. And as I mentioned in the release
  5. notes for that utility, this is a development tool for yet another
  6. app, which will be _really_ cool. But this is a nice little tool for
  7. power-users, trouble-shooters, and persons whose job description
  8. boils down to hand-holder-to-the-least-of-us (grin).
  9.  
  10.  
  11.  
  12. What does it do...?
  13.  
  14. FONDetective writes a text file reporting exhaustively on every
  15. little last thing in the FOND resources of font suitcases. It works
  16. on Type 1, TrueType or Multiple Master suitcases (which are not
  17. fundamentally distinct in any case), and it draws a few conclusions
  18. in the way of error-reporting and helpful hints. If you want to know
  19. why a font like AT&T Garamond is so evil to set, FONDetective will
  20. tell you. If you want to know why low-numbered Adobe volumes have
  21. such bogus kerns, FONDetective will show you where the bodies are
  22. buried. If you want to know what's wrong with a RIP-crashing font,
  23. FONDetective will at least offer clues. And if you need to download
  24. the printer font associated with Franklin Gothic Roman No. 2,
  25. FONDetective will whisper its true name.
  26.  
  27.  
  28.  
  29. Using FONDetective...
  30.  
  31. FONDetective is System 7 only. Its only interface is Drag & Drop, so
  32. it will not work with earlier systems. If you try to use it with an
  33. earlier system, the software will display an error message and quit
  34. gracefully. If you double-click on the icon from System 7, a help
  35. message will be displayed and the software will quit gracefully.
  36.  
  37. To use FONDetective, Drag & Drop one or more suitcases on the icon
  38. (or an alias). A plain text file will be created that will document
  39. with great precision and _no_ concision (grin) the contents of each
  40. FOND resource in the suitcase. You can examine and print the file in
  41. any text editor. (Note: if you use BBEdit, bump its allocation; the
  42. reports can get _very_ large. Also: it's a sweet idea to make sure
  43. you have a few megs of disk space free, particularly with Multiple
  44. Master fonts, which have a new FOND - with a _lot_ of kerning pairs -
  45. for each 'instance'.)
  46.  
  47. The file FONDetective creates is a space-formatted plain text file.
  48. In consequence, you should view and print it in a fixed-width font
  49. such as Courier or Monaco. Monaco does not support the full Macintosh
  50. character set, so, ideally, you should print in Courier, Prestige
  51. Elite, or some other fully-charactered fixed-width font. Alas, even
  52. fixed-width fonts aren't fixed in _every_ width, so you will see some
  53. shifting in alignment in the Widths and Kern tables.
  54.  
  55. You can Drag & Drop as many suitcases as you like on the icon, and
  56. each will be processed in turn, with each suitcase processed
  57. resulting in a new text file with the extension ".FND" appended to
  58. the name of the source suitcase. _In NO case_ will the source
  59. suitcase be altered in any way, and you can operate on suitcases that
  60. are currently in use by Suitcase or Master Juggler.
  61.  
  62. As with any utility of mine that takes time to run, FONDetective
  63. features the sleek and understated Movado Museum watch cursor. And:
  64. at the completion of a batch of suitcases, the software will beep to
  65. let you know that you have regained control of your Mac.
  66.  
  67.  
  68.  
  69. Error reporting...
  70.  
  71. If FONDetective beeps _more than once_ in a batch of files, it means
  72. that an error has occurred. There are three levels of errors, and
  73. FONDetective gives meaningful reports on two of them.
  74.  
  75. The first level is a FOND error (e.g., a duplicate style, which can
  76. be introduced by injudicious use of the Font/DA Mover). FONDetective
  77. will flag this type of error in the report and continue processing
  78. that suitcase. At the time of the beep, the software will display the
  79. nature of the error to the screen.
  80.  
  81. The second level is a resource or system error associated with the
  82. suitcase. In this event, FONDetective will flag the error by its
  83. system error number in the report and to the screen and quit
  84. gracefully. (I've never seen this happen spontaneously, but I built
  85. in the reporting because it _could_. If you want to _make_ it happen,
  86. open a suitcase with ResEdit, then run that same suitcase through
  87. FONDetective.)
  88.  
  89. The third level is a fatal system error, which means that execution
  90. is summarily terminated by the operating system. About these I can
  91. report nothing, but, should they occur, the most likely culprits are
  92. insufficient disk space or bad disk sectors.
  93.  
  94. Having said all that about errors, I should add that FONDetective
  95. itself is not _causing_ errors but only _reporting_ on them. To my
  96. knowledge, based on an _extreme_ amount of testing, it is completely
  97. free of bugs. And, even if that turns out to be untrue, I _know_ that
  98. it is not wreaking the kind of system error havoc that comes of
  99. playing fast and loose with the operating system. We are doing
  100. everything in legal - pedestrian, even - ways. So: if you _do_ have a
  101. fatal error, and if the cause is not intuitively obvious, run
  102. SUM/Norton/etc. right away.
  103.  
  104. And: in fact, there is essentially a fourth level of error-reporting,
  105. which amounts to a legal FOND element that is nevertheless anomalous.
  106. For example, for reasons unknown, my copy of Adobe ITC Franklin
  107. Gothic (volume 23) does not have a Bounding Box Table. This is not an
  108. error as such, but it's odd, as you will see as you become familiar
  109. with FONDetective reports.
  110.  
  111.  
  112.  
  113. FONDetective reports...
  114.  
  115. FONDetective reports on each and every thing found in the FOND
  116. resource. If you've ever looked at a FOND using the ResEdit template,
  117. you know that a FOND consists of a few semi-intelligible bits of
  118. information followed by a sea of hexadecimal numbers (grin). In fact,
  119. a FOND is actually a remarkably compact rendering of an immense
  120. quantity of data. Never was there a poet so economical with words as
  121. the FOND is with numbers, and the FOND wastes not one byte. Of
  122. course, the FOND is being economical with disk space that is no
  123. longer dear, but we can hardly fault the Apple engineers for being
  124. kind to users of tiny, expensive hard (and floppy!) disks that are
  125. now long since obsolete.
  126.  
  127. In any case, while the FOND contains a _lot_ of useful information,
  128. it has never contained much in the way of _accessible_ information.
  129. FONDetective gives you access that that data in a documented,
  130. human-readable format. Hexadecimal numbers that refer to integral
  131. quantities, memory addesses offsets, and resource I.D.s are shown
  132. as integer decimal numbers. Hex numbers that refer to font metric
  133. units (for want of a better name) are shown in floating point decimal
  134. numbers.
  135.  
  136. (For reference, a font metric unit is the em square of a hypothetical
  137. one-point font size. It is stored as a two byte signed short integer,
  138. with the four most significant bits representing the signed integer
  139. portion of the ultimate value and the twelve least significant bits
  140. denoting the signed fraction. Expressed in decimal, the stored
  141. integral number is divided by 4096.0 to yield the displayed floating
  142. point number. Because the the fraction is expressed in 12 bits, the
  143. font metric unit has a granularity of 4,096, which means is has,
  144. effectively, 3-1/2 places of decimal precision. In consequence, the
  145. floating point representation of font metric units is rounded to
  146. three decimal places.)
  147.  
  148. Every bit of information in the FOND is reported upon, but it is not
  149. shown in the exact sequence in which it occurs. The Style Table is
  150. shown before the Widths and Kerns, for example, even though it
  151. usually comes between them or after both (in Multiple Master fonts).
  152. This is done for the convenience of the reader. It seems likely that
  153. you'll need the Style information more often, so it is put first.
  154.  
  155. In the same respect, much of what is reported is either inferred or
  156. derived from the stored data. For example, the FOND never reports on
  157. styles, but only lists a style's number. The Style Name Suffixes are
  158. shown _as they work_, not as they come out of the FOND. And the
  159. Printer Font File Name is derived algorithmically; it is not stored
  160. in the FOND at all. As above, the whole point is to make the data
  161. accessible to and convenient for the user.
  162.  
  163. For the most part, the information is obvious as presented. If you
  164. need greater detail than I'm providing (!!), the structure of the
  165. FOND is documented in Inside Macintosh IV and LaserWriter Reference.
  166. If you avail yourself of these resources, take note that some
  167. critical information is either incorrect or absent, most notably with
  168. the latter book.
  169.  
  170.  
  171.  
  172. Saving paper...
  173.  
  174. If I were writing a utility for money, rather than a development tool
  175. that I'm documenting and giving away, I would do three things: first,
  176. I would show the FONDs by name in a List Manager list, allowing you
  177. to select them individually. Second, I would display the selected
  178. FOND to a scrolling window, so that you could read it to the screen.
  179. And, third, I would make it possible to print directly from the
  180. application, with the software taking care to make best use of the
  181. paper (perhaps with my own truly mono-spaced font). But I ain't, not
  182. now anyway. So viewing and printing are up to you.
  183.  
  184. For the most part, you'll want to view rather than print. For this I
  185. recommend BBEdit, as always. It's fast, reliable and free, and it's
  186. mono-spaced out of the box.
  187.  
  188. But: if you print from BBEdit, you will be dismayed at the number of
  189. pages a typical FONDetective report runs to. For this reason, I've
  190. made a QuarkXPress template (included in this archive) that lets you
  191. pack a lot of FONDetective information onto a few pages.
  192.  
  193.  
  194.  
  195. Post 'Pre-Release' notes...
  196.  
  197. If you downloaded the 'pre-release' version, very little of
  198. consequence has changed. For the most part, changes involved making
  199. things (slightly) prettier or omitting redundant information. The
  200. only significant changes occurred in the Style Name Suffixes and the
  201. Style Name Table. One was a logic error on my part, and the rest
  202. resulted from 'bugs' in Apple's documentation, most notably page 35 of
  203. LaserWriter Reference.
  204.  
  205.  
  206.  
  207. The usual quasi-legal white noise...
  208.  
  209. FONDetective, its source and executable code, and this poor excuse
  210. for a manual are Copyright (C) 1992 by Greg Swann. All rights are
  211. most emphatically reserved. Greg Swann is a Macintosh software
  212. developer specializing in Desktop Publishing applications. He can be
  213. reached via CompuServe at 70640,1574 or by USPS at:
  214.  
  215.     P.O. Box 1724
  216.     Andover, MA 01810
  217.  
  218. FONDetective is freeware and may be distributed freely so long as the
  219. complete, original archive is transmitted.
  220.  
  221. FONDetective is delivered "as is", without any warranties, expressed
  222. or implied. It is not warranted to be useful _to_ anyone, _for_
  223. anything, and in no wise am I to be held responsible for any
  224. unfortunate consequences resulting from its use or misuse. And I
  225. _hate_ having to say things like that. I do my best to write useful,
  226. simple, elegant, bug-free solutions to difficult problems. In this
  227. case, I am giving of my labor at no charge at all. If you take it
  228. into your head that I represent your big chance to 'strike it rich,'
  229. you will pay a lot in legal fees to discover that you have
  230. miscalculated. It's sad and sick and stupid that we live in a world
  231. of bloodsuckers, but I _promise_ I will not be leech lunch. So there!
  232.  
  233. And: to those to whom the above disclaimer does not apply: forgive me
  234. for having to make it. It's _you_ whom I'm working for, for pay or
  235. for free. I appreciate your custom and your support, and I wish we
  236. all could just comb the others out of our hair...
  237.  
  238.  
  239.  
  240. Projects for the ambitious...
  241.  
  242. ...among whom I do not number myself... (grin)
  243.  
  244. I don't feel confident enough with PageMaker to make a paper-saving
  245. template in it. If you _do_, then it would be an nice enhancement for
  246. FONDetective users.
  247.  
  248. In principle, it should be fairly easy to make a Torquemada set that
  249. would read a FONDetective report and style tag it for a very pretty,
  250. very compact QuarkXPress template. I for one would be boundlessly
  251. grateful if someone were to do this.
  252.  
  253. Lastly, and most ambitiously, I think it would be nice to have a
  254. fully charactered fixed-width font that is fixed in width in each and
  255. every slot. This would come in handy in many contexts, not just this
  256. one.
  257.  
  258.  
  259.  
  260. Parting thought...
  261.  
  262. I started this on the Fourth of July and finished on Bastille Day. I
  263. freed up five working days between those two very different
  264. revolutions to make FONDetective. I wish I had more time, because I'd
  265. love to go home and read Hugo's 'Ninety-Three', if not for Liberty,
  266. Equality and Fraternity, then at least to have read something that's
  267. even _longer_ than a FONDetective report... (grin)
  268.  
  269.  
  270.  
  271. Very Best,
  272.  
  273. Greg Swann
  274. 7/16/92
  275.